/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ru.jSkyRoom.interfaces;

import java.util.Collection;
import java.util.List;
import skyproc.LeveledRecord;
import skyproc.exceptions.BadParameter;

/**
 *
 * @author Rakev
 */
public interface Leveled extends Major, Iterable<JSkyLeveledEntry> {
    
    public Collection<? extends JSkyLeveledEntry> getEntries();
    
    public void addEntry(JSkyLeveledEntry entry);
    
    public void addEntry(Major major, int level, int count);
    
    public void removeEntry(JSkyLeveledEntry entry);
    
    public int getChanceNone();
    
    public void setChanceNone(final int in) throws BadParameter;
    
    public Double getChanceNonePct();
    
    public boolean getFlag(LeveledRecord.LVLFlag flag);
    
    public void setFlag(LeveledRecord.LVLFlag flag);
    
    public void unsetFlag(LeveledRecord.LVLFlag flag);
    
}
